Component({
  externalClasses: ['wr-class', 'symbol-class', 'decimal-class'],
  useStore: [],
  properties: {
    min: {
      type: Boolean,
      value: false
    },
    priceUnit: {
      type: String,
      value: 'fen',
    }, // 价格单位，分 | 元, fen，yuan
    price: {
      type: null,
      value: '',
      observer(price) {
        this.format(price);
      },
    }, // 价格, 以分为单位
    type: {
      type: String,
      value: '', //
    }, //  main 粗体, lighter 细体, mini 黑色, del 中划线, delthrough 中划线，包括货币符号
    symbol: {
      type: String,
      value: '¥', // '￥',
    }, // 货币符号，默认是人民币符号￥

    fill: Boolean, // 是否自动 补齐 两位小数
    decimalSmaller: Boolean, // 小数字号小一点
    lineThroughWidth: {
      type: null,
      value: '0.12em',
    }, // 划线价线条高度
    negative: Boolean
  },

  data: {
    pArr: 0,
  },

  methods: {
    format(price){
      if(price){
        const pArr = [];
        if(price.charAt(0) === "¥"){
          price = price.slice(1); // 去除第一个字符
        }
        let newPrice = price.replace(",", "");
        const priceSplit = newPrice.toString().split('.');
        pArr[0] = priceSplit[0];
        pArr[1] = !priceSplit[1]
          ? '00'
          : priceSplit[1].length === 1
            ? `${priceSplit[1]}0`
            : priceSplit[1];
        if (!this.properties.fill) {
          // 如果 fill 为 false， 不显示小数末尾的0
          if (pArr[1] === '00') pArr[1] = '';
          else if (pArr[1][1] === '0') pArr[1] = pArr[1][0];
        }
        this.setData({ pArr });
      }
    }
  },
});
